1. Field of the Invention
The present invention generally relates to data processing and retrieval. More particularly, the invention relates to computer-implemented methods, systems and products for creating a ranking value of a business object according to its relevance for a search query.
2. Background Information
In enterprise resource planning (ERP) software products, data objects are stored within structured business objects. Business objects may, for instance be data objects, which can relate to various areas within a company, for example, client data, factory structures, machine structures, production sequences, lists of materials, lists of staff and many others. The structure of the business data objects may be predetermined by the real conditions within the company or for maintenance of certain areas within the company. The business objects may insofar simulate the real structures.
Data objects may represent real world objects within a particular company structure. The data objects may comprise attributes and values, and insofar allow computer-aided planning, maintenance and the operation of a company with the aid of ERP software.
Various business objects can be interlinked and can thus represent an entire company network in an object structure, which can be hierarchical. The mesh of objects should insofar represent the actual structure of the company as far as possible.
In order to search for information within the data objects, the user requires a user-friendly user interface, as well as fast and reliable access to the data. With conventional search engines, such as those available on the Internet, for example, only document-like objects are almost exclusively searchable and displayed. These document-like objects, for example, text documents, are only slightly structured and can be searched with the aid of simple algorithms. The content of the text documents can be indexed automatically in most cases. The search engines access the created index during their search.
During the search, the keyword being sought is searched for in the index. Searching in the index allows attribute search or full text search. In the event of a match, a link to the corresponding text document may be put out. The user may then directly access the text document via the respective link.
In many cases, a search engine retrieves, upon a search, from an index a huge amount of different documents, which match with the search query. To allow users to evaluate the results, it is known to provide ranking values together with the search results. The ranking values allow sorting the search results according to their relevance for the user. FIG. 2 depicts such a search using-search engines.
As illustrated in FIG. 2, a search engine 100 may comprise a database 102, an indexer 104, a crawler 106, and ranking means 108. Further depicted is a variety of web sites 110, a search engine user interface 112 and a user 114.
The search engine may have to be prepared prior to processing a search query. In this case, web sites 110 may be searched by the crawler 106. The crawler provides the indexer 104 with all found web sites 110. The found web sites 110 are indexed by the indexer 104. The indexer 104 creates an index of the content of the web sites 110. Further, the indexer 104 references the corresponding websites by, for example, their URL-references.
After indexing the documents, search engine 100 may be ready for processing search queries. In such a case, user 114 may start a search query 116 via search engine user interface 112. The search query 116 initiates a search routine within search engine 100. Search engine 100 tries to find documents that match best with the search query 116. The hitlist may be passed to ranking means 108. At this point in time, the hitlist might not be sorted, yet. Ranking means 108 may try to calculate the relevance of each document to provide user 114 with a sorted hitlist. According to the results of the ranking means 108, the hitlist is sorted depending on a relevance of the documents. The sorted hitlist is passed to search engine user interface 112. Together with ranking information and links to the corresponding web sites 110, the hitlist is presented to the user. The user may choose one of the corresponding links to retrieve the corresponding web site 110. One exemplary embodiment presents at the top of the hitlist the most relevant documents. The relevance may decrease the lower the position of the reference in the sorted hitlist.
A central functionality of the search engine is the ranking algorithm. For using the ranking algorithm, the documents are searched for certain keywords and index terms. Some index terms and keywords are more relevant for a search query than others. The ranking value depends to the corresponding ranking algorithm. As demonstrated by Baeza-Yates, R., Ribiero-Neto, B., “Modern Information Retrieval”, Addison Wesley (1999) and Frakes, W./Baeza-Yates, R., “Information Retrieval: Data Structures & Algorithms” (1999), different ranking algorithms using term frequencies and inverse document frequencies are known.
A further ranking algorithm is known from U.S. Pat. No. 6,526,440, where an initial set of relevant documents is obtained. For the initial set of documents, a relevance score is calculated for each document. A local score value is calculated quantifying an amount that the documents are referenced by the documents in the initial set of documents. The relevance scores of the documents are refined. According to this algorithm, the reference of documents to other documents is used for calculating a ranking value. The more documents reference a certain document, the more important this certain document is ranked.
A drawback of the proposed methods is that they only allow calculating ranking values for plain documents. In particular, business objects are more complex than plain documents. Business objects may have multiple references to each other. Business objects may further comprise master data and/or dynamic data and may comprise a variety of attributes.
It should be possible to provide a ranking algorithm taking the references between business objects into account.